// ==UserScript==
// @name        EDRO-CLEANER
// @version     0.1
// @date        7.12.11
// @author      russia citizen
// @include     http://*izbirkom.ru/*
// ==/UserScript==

window.addEventListener('load', function(){

  (function($) {
    $(function() {  
      first_start();
    })
  })(jQuery);

}, false);
    
function first_start()
{
	$('<div id="control" style="z-index:50; margin:0; width:100%; height:150px; position:fixed;background-color:#d4f4fe;"></div>').prependTo('body');
  $('<div id="clear" style="margin:20; width:100px; height:15px; border: 1px;">посчитать</div>').appendTo('#control');
	$('#clear').click(function(UIK) {
  	var UIK = new Object();
    UIK.table = null;
    UIK.data = null;
    UIK.getTable = null;
    UIK.array = false;
    UIK.table = $('table:contains("Наименование Избирательной комиссии")').next().next();
    UIK.table = UIK.table[1].children[0].rows;
    if(1 == UIK.table.length) {
      UIK.array = true; // NN UIK
      UIK.table = UIK.table[1].children[0].rows[0].children[0].children[0].children[0].rows;
    } 

    // UIK.table = $('body > table')[2].rows[3].children[0].children[6].rows[0].children[1].children[0].children[0].rows;
    UIK.data = new Array(UIK.table[0].cells.length);
    for (i=0; i< UIK.table[0].cells.length; i++ ) {
      UIK.data[i] = new Array(UIK.table.length);
      for (j=0; j< UIK.table.length; j++ ) {
        if(j!=19) {
          res = /<nobr><b>(.*)<\/b>|<nobr>(.*)<\/nobr>/.exec(UIK.table[j].cells[i].innerHTML);
          UIK.data[i][j] = (res[1] === undefined) ? res[2] : res[1];
          }
      }
    }     
    UIK.p1 = {cik:0, ppl:0}; UIK.p2 = {cik:0, ppl:0}; UIK.p3 = {cik:0, ppl:0};
    UIK.p4 = {cik:0, ppl:0}; UIK.p5 = {cik:0, ppl:0}; UIK.p6 = {cik:0, ppl:0}; UIK.p7 = {cik:0, ppl:0}
    for (i=0; i< UIK.data.length; i++ ) {      
      UIK.data[i][100] = UIK.data[i][20]/1+UIK.data[i][21]/1+UIK.data[i][22]/1+UIK.data[i][23]/1+UIK.data[i][24]/1+UIK.data[i][25]/1+UIK.data[i][26]/1;
      UIK.data[i][101] = UIK.data[i][20]/UIK.data[i][100]*100
      UIK.p1.cik += UIK.data[i][101];
      UIK.data[i][102] = UIK.data[i][21]/UIK.data[i][100]*100
      UIK.p2.cik += UIK.data[i][102];
      UIK.data[i][103] = UIK.data[i][22]/UIK.data[i][100]*100
      UIK.p3.cik += UIK.data[i][103];
      UIK.data[i][104] = UIK.data[i][23]/UIK.data[i][100]*100
      UIK.p4.cik += UIK.data[i][104];
      UIK.data[i][105] = UIK.data[i][24]/UIK.data[i][100]*100
      UIK.p5.cik += UIK.data[i][105];
      UIK.data[i][106] = UIK.data[i][25]/UIK.data[i][100]*100
      UIK.p6.cik += UIK.data[i][106];
      UIK.data[i][107] = UIK.data[i][26]/UIK.data[i][100]*100
      UIK.p7.cik += UIK.data[i][107];
    }
    UIK.p1.cik = UIK.p1.cik / UIK.data.length; 
    UIK.p2.cik = UIK.p2.cik / UIK.data.length;
    UIK.p3.cik = UIK.p3.cik / UIK.data.length;
    UIK.p4.cik = UIK.p4.cik / UIK.data.length;
    UIK.p5.cik = UIK.p5.cik / UIK.data.length;
    UIK.p6.cik = UIK.p6.cik / UIK.data.length;
    UIK.p7.cik = UIK.p7.cik / UIK.data.length;
    
    $('body').data("UIK", UIK);
    
    $('<div id="p1">1. Справедливая Россия - &nbsp;</div>').appendTo('#control');                      
    $('<div id="p2">2. ЛДПР - &nbsp;</div>').appendTo('#control');                      
    $('<div id="p3">3. Патриоты России - &nbsp;</div>').appendTo('#control');                      
    $('<div id="p4">4. КПРФ - &nbsp;</div>').appendTo('#control');                      
    $('<div id="p5">5. ЯБЛОКО - &nbsp;</div>').appendTo('#control');                      
    $('<div id="p6">6. Единая Россия - &nbsp;</div>').appendTo('#control');                      
    $('<div id="p7">7. Правое дело - &nbsp;</div>').appendTo('#control'); 
    
    exp10=Math.pow(10,2);
    for (i=1; i< 8; i++ ) { 
      index = "p" + i;
      res = parseFloat(UIK[index].cik)
      res = Math.round(res*exp10)/exp10;
      $('<span style="margin-right:0; width:60px">'+res+'</span>').appendTo('#'+index);
      }        
        
    page = $('body')[0] ;             
    for (i=0; i< page.childNodes.length; i++ ) {
        $(page.childNodes[i]).appendTo('#wrapper');          
    }
		return false;   
	}) 
}